#ifndef __UEQ_PLATFORM_H_INCLUDED__
#define __UEQ_PLATFORM_H_INCLUDED__

/* For definition of assert */
#include <assert.h>
/* For definition of NULL */
#include <stddef.h>
/* For definition of NULL */
#include <string.h>

#define UEQ_ASSERT(X) assert((X))
#define UEQ_ASSERT_SAME_DATA(X, Y, Z) \
    UEQ_ASSERT(memcmp((X), (Y), (Z)) == 0)

#define UEQ_ENTER_CRITICAL_SECTION()
#define UEQ_EXIT_CRITICAL_SECTION()

#define UEQ_IS_POW_OF_2(X) (((X) > 0) && (((X) & ((X) - 1)) == 0))

#define UEQ_UNUSED(X) (void)((X))

#define TRUE 1
#define FALSE 0

typedef unsigned char   BYTE;
typedef unsigned int    BOOL;
typedef unsigned char   UINT8;
typedef unsigned short  UINT16;
typedef unsigned int    UINT32;
typedef char            INT8;
typedef short           INT16;
typedef int             INT32;

typedef BYTE            UeqEvent;

#endif /* __UEQ_PLATFORM_H_INCLUDED__ */
